1.1 Airsage Data File Description
This is airsage data review. The following is the description of the data files
trip_leg_matrix_cusWDH.csv and trip_leg_matrix_cusWDDP.csv: reporting trips between study area zones for average weekday 24 hour period and specific AM and PM day parts respectively.
trip_leg_submatrix_cusWDH.csv and trip_leg_submatrix_cusWDDP.csv: reporting trips between study area zones that passed through the sub matrix analysis zone (in the SZCount column) for average weekday 24 hour period and specific AM and PM day parts respectively.
The following are the list of files received from Airsage along with: 1) number of samples 2) number of trips 3) ratio of trips to samples 4) percent of samples 5) percent of trips
##
##
## File Samples Trips Trips/Samples % Sample % Trips
## ------------------------------- -------- ------------ -------------- --------- --------
## trip_leg_matrix_cusWDDP.csv 9666 2945178.48 30,469 38 19
## trip_leg_matrix_cusWDH.csv 6052 7457084.91 123,217 24 47
## trip_leg_submatrix_cusWDDP.csv 5143 1472307.68 28,627 20 9
## trip_leg_submatrix_cusWDH.csv 4301 4001471.97 93,036 17 25
## Total 25162 15876043.04 63,095 100 100
Peak data flow shows a total observations of 9,666 whereas total daily flows are only 6,052. Does this mean the daily samples are only for offpeak? 46% of the daily flow are represented from 24% sample?
1.2 Contents of “trip_leg_matrix_cusWDDP.csv” and Contents of “trip_leg_matrix_cusWDDP.csv”
This file contains 9,666 observations and 9 fields. Each sample was geocoded with an Origin_Zone and Destination_Zone pairs and Count represents the total flows betweent these OD pairs. The start and end dates define the data collection period, which is April, 2015. The other fields: Subscriber_Class, Purpose and Time_of_Day describe the trip attributes.
data_wddp <- read.csv("airsage/trip_leg_matrix_cusWDDP.csv")
data_wdh <- read.csv("airsage/trip_leg_matrix_cusWDH.csv")
data_wddp$tod <- "peak"
data_wdh$tod <- "24H"
data <- rbind(data_wddp, data_wdh)
print(head(data))
## Origin_Zone Destination_Zone Start_Date End_Date Aggregation
## 1 14 11 20150401 20150430 WD
## 2 11 34 20150401 20150430 WD
## 3 24 11 20150401 20150430 WD
## 4 10 2 20150401 20150430 WD
## 5 11 20 20150401 20150430 WD
## 6 2 17 20150401 20150430 WD
## Subscriber_Class Purpose Time_of_Day Count tod
## 1 Resident HBO H07:H10 2273.11 peak
## 2 Resident HBO H07:H10 283.50 peak
## 3 Resident NHB H16:H19 336.66 peak
## 4 Resident NHB H16:H19 3715.68 peak
## 5 Resident HBW H07:H10 1644.29 peak
## 6 Visitor NHB H16:H19 1363.58 peak
Total trips from both files are shown below.
# Total trips
total_trips <- data %>% group_by(tod) %>% summarize(sum = sum(Count))
kable(total_trips,format.args = list(big.mark = ","), digits = 0)
| 24H |
7,457,085 |
| peak |
2,945,178 |
The daily file contains more aggregated data with periods combined and thus the number of samples are fewer compared to AM/PM files. However, the total number of trips reveal that daily includes AM/PM trips although this needs to be confirmed from Airsage.
# Break down by purpose and period
samples <- data %>% group_by(tod, Purpose, Time_of_Day) %>% tally
trips <- data %>% group_by(tod, Purpose, Time_of_Day) %>% summarize(sum = sum(Count))
kable(left_join(samples,trips, by = c("Purpose" , "Time_of_Day", "tod")),format.args = list(big.mark = ","), digits = 0)
| 24H |
HBO |
H00:H24 |
1,701 |
2,722,739 |
| 24H |
HBW |
H00:H24 |
1,385 |
1,267,599 |
| 24H |
NHB |
H00:H24 |
2,966 |
3,466,747 |
| peak |
HBO |
H07:H10 |
1,332 |
482,475 |
| peak |
HBO |
H16:H19 |
1,429 |
529,311 |
| peak |
HBW |
H07:H10 |
1,137 |
363,070 |
| peak |
HBW |
H16:H19 |
1,068 |
261,128 |
| peak |
NHB |
H07:H10 |
2,286 |
545,530 |
| peak |
NHB |
H16:H19 |
2,414 |
763,664 |
1.5 Airsage districts
The airsage data was provided for about 40 districts as shown in the below interactive map.
# Add airsage district file
shape <- readOGR(airsage_shapeFile, layer = "TAZs", verbose = FALSE)
# Read District equivqlency file
taz_dist <- read.csv(airsage_Districts)
# Append districts to 40 Zones
shape@data <- left_join(shape@data, taz_dist, by = "TAZ")
Peak Study Area Flows
The following are the tables showing the peak trips
| Outside |
2,394,496 |
236,047 |
2,630,544 |
| StudyArea |
225,789 |
88,845 |
314,635 |
| total |
2,620,286 |
324,893 |
2,945,178 |
| Outside |
81.30 |
8.01 |
89.32 |
| StudyArea |
7.67 |
3.02 |
10.68 |
| total |
88.97 |
11.03 |
100.00 |
## [1] "Percent of Peak Trips"
| 1 |
0.12 |
0.06 |
0.00 |
0.00 |
0.00 |
0.00 |
0.01 |
0.01 |
0.04 |
0.04 |
0.03 |
0.01 |
0.02 |
0.02 |
0.01 |
0.01 |
0.10 |
0.00 |
0.01 |
0.11 |
0.62 |
| 2 |
0.05 |
2.50 |
0.02 |
0.02 |
0.02 |
0.04 |
0.04 |
0.02 |
0.12 |
1.14 |
0.36 |
0.09 |
0.34 |
0.21 |
0.08 |
0.07 |
0.24 |
0.12 |
0.12 |
0.88 |
6.46 |
| 3 |
0.00 |
0.02 |
0.56 |
0.27 |
0.21 |
0.09 |
0.08 |
0.05 |
0.03 |
0.01 |
0.04 |
0.00 |
0.01 |
0.05 |
0.05 |
0.06 |
0.04 |
0.00 |
0.00 |
0.05 |
1.63 |
| 4 |
0.00 |
0.02 |
0.26 |
0.83 |
0.33 |
0.20 |
0.14 |
0.12 |
0.04 |
0.02 |
0.05 |
0.01 |
0.01 |
0.08 |
0.09 |
0.07 |
0.07 |
0.00 |
0.00 |
0.07 |
2.41 |
| 5 |
0.00 |
0.02 |
0.20 |
0.32 |
1.25 |
0.16 |
0.07 |
0.06 |
0.03 |
0.01 |
0.05 |
0.01 |
0.01 |
0.06 |
0.10 |
0.06 |
0.04 |
0.00 |
0.00 |
0.04 |
2.49 |
| 6 |
0.00 |
0.04 |
0.10 |
0.20 |
0.16 |
1.36 |
0.32 |
0.19 |
0.11 |
0.04 |
0.10 |
0.02 |
0.04 |
0.15 |
0.52 |
0.26 |
0.16 |
0.00 |
0.01 |
0.16 |
3.94 |
| 7 |
0.01 |
0.04 |
0.07 |
0.14 |
0.07 |
0.34 |
0.91 |
0.22 |
0.25 |
0.04 |
0.11 |
0.02 |
0.04 |
0.13 |
0.32 |
0.36 |
0.28 |
0.00 |
0.01 |
0.17 |
3.52 |
| 8 |
0.01 |
0.02 |
0.06 |
0.12 |
0.06 |
0.19 |
0.20 |
0.53 |
0.14 |
0.01 |
0.04 |
0.01 |
0.02 |
0.06 |
0.09 |
0.10 |
0.11 |
0.00 |
0.01 |
0.08 |
1.87 |
| 9 |
0.05 |
0.12 |
0.03 |
0.05 |
0.04 |
0.12 |
0.26 |
0.15 |
0.95 |
0.11 |
0.12 |
0.03 |
0.09 |
0.10 |
0.15 |
0.21 |
0.58 |
0.01 |
0.02 |
0.35 |
3.52 |
| 10 |
0.04 |
1.18 |
0.01 |
0.02 |
0.02 |
0.04 |
0.04 |
0.02 |
0.11 |
4.99 |
1.44 |
0.22 |
0.45 |
0.25 |
0.08 |
0.09 |
0.25 |
0.28 |
0.10 |
0.66 |
10.28 |
| 11 |
0.04 |
0.39 |
0.05 |
0.05 |
0.05 |
0.10 |
0.10 |
0.05 |
0.13 |
1.45 |
9.48 |
0.77 |
0.39 |
1.31 |
0.28 |
0.29 |
0.41 |
0.05 |
0.07 |
0.95 |
16.40 |
| 12 |
0.01 |
0.08 |
0.00 |
0.01 |
0.01 |
0.02 |
0.02 |
0.01 |
0.03 |
0.22 |
0.77 |
0.54 |
0.14 |
0.20 |
0.04 |
0.05 |
0.10 |
0.00 |
0.02 |
0.29 |
2.56 |
| 13 |
0.02 |
0.36 |
0.01 |
0.01 |
0.02 |
0.04 |
0.05 |
0.02 |
0.10 |
0.47 |
0.41 |
0.14 |
0.50 |
0.16 |
0.09 |
0.08 |
0.25 |
0.01 |
0.02 |
0.44 |
3.19 |
| 14 |
0.02 |
0.28 |
0.06 |
0.09 |
0.07 |
0.17 |
0.14 |
0.07 |
0.11 |
0.26 |
1.35 |
0.20 |
0.17 |
2.35 |
0.66 |
0.47 |
0.39 |
0.01 |
0.02 |
1.18 |
8.08 |
| 15 |
0.01 |
0.08 |
0.05 |
0.09 |
0.09 |
0.55 |
0.30 |
0.09 |
0.14 |
0.07 |
0.27 |
0.04 |
0.08 |
0.63 |
3.13 |
0.91 |
0.43 |
0.00 |
0.02 |
0.59 |
7.58 |
| 16 |
0.01 |
0.08 |
0.06 |
0.08 |
0.05 |
0.27 |
0.34 |
0.11 |
0.21 |
0.09 |
0.29 |
0.05 |
0.08 |
0.45 |
0.98 |
1.47 |
0.60 |
0.00 |
0.01 |
0.56 |
5.79 |
| 17 |
0.09 |
0.25 |
0.04 |
0.07 |
0.04 |
0.16 |
0.29 |
0.12 |
0.59 |
0.25 |
0.43 |
0.10 |
0.24 |
0.37 |
0.47 |
0.62 |
2.31 |
0.01 |
0.04 |
1.06 |
7.54 |
| 18 |
0.00 |
0.16 |
0.00 |
0.00 |
0.00 |
0.00 |
0.00 |
0.00 |
0.01 |
0.26 |
0.05 |
0.01 |
0.01 |
0.01 |
0.00 |
0.00 |
0.01 |
0.20 |
0.00 |
0.03 |
0.76 |
| 19 |
0.00 |
0.11 |
0.00 |
0.00 |
0.00 |
0.01 |
0.01 |
0.00 |
0.02 |
0.10 |
0.07 |
0.02 |
0.02 |
0.02 |
0.02 |
0.01 |
0.04 |
0.00 |
0.09 |
0.06 |
0.62 |
| 20 |
0.10 |
1.00 |
0.06 |
0.08 |
0.05 |
0.16 |
0.18 |
0.08 |
0.35 |
0.68 |
0.95 |
0.27 |
0.43 |
1.03 |
0.62 |
0.56 |
1.06 |
0.03 |
0.06 |
3.00 |
10.75 |
| total |
0.60 |
6.81 |
1.62 |
2.46 |
2.53 |
4.01 |
3.50 |
1.92 |
3.50 |
10.29 |
16.40 |
2.56 |
3.10 |
7.63 |
7.76 |
5.75 |
7.45 |
0.74 |
0.63 |
10.72 |
100.00 |
Inorder to better understand the travel patterns through the corridor, OD tables are developed to & from the studyarea super district to all other districts, where district 20 is the aggregated study area district.